#ifndef _H_INPUT
#define _H_INPUT

#include <windows.h>

#define LEFT_CLICK      0
#define MIDDLE_CLICK    1
#define RIGHT_CLICK     2

#define ROLL_UP         -1
#define ROLL_NONE       0
#define ROLL_DOWN       1

class input{

private:
    bool keys[256];
    bool click[3];

    bool inserMode;

    char roll;
    char lastchar;

    unsigned int mouseX;
    unsigned int mouseY;

    int* winSizeX;
    int* winSizeY;

public:
    input();
    ~input();

    bool    getKey(unsigned char);
    bool    bindKey(unsigned char);
    void    setKey(unsigned char,bool);

    bool    getClk(unsigned char);
    bool    bindClk(unsigned char);
    void    setClk(unsigned char,bool);

    char    getRoll();
    char    bindRoll();
    void    setRoll(char);

    char    getLastTyped();
    char    bindLastTyped();
    void    setLastTyped(char);

    int     getMouseX();
    int     getMouseY();
    void    setMousePos(int,int);

    bool    getInserMode();
    void    setInserMode(bool);

    void    setWinSize(int*,int*);

    bool translateInputMsg(UINT,WPARAM,LPARAM);

};

#endif
